Process engineering involves the design of a wide variety of processing plants and processes carried out therein. Such processes may include, for example, internal combustion engine, chemical, petrochemical, refining, pharmaceutical, polymer, plastics, and other processes. Such processes usually include a number of physical components. For example, FIGS. 1(a) and 1(b) illustrate typical engine configurations that include various components. As indicated in the example configuration of FIG. 1(a), an internal combustion engine system 100 is depicted, which can include physical components such as a compressor 102, a charge air cooler 104, an EGR cooler 108, an EGR valve 110, an engine 112, a turbine 114, a wastegate valve 116, a turbo-shaft 113, and so forth. The configuration depicted in FIG. 1(a) thus generally illustrates an example engine 112 with a number of components. FIG. 1(b), on the other hand, illustrates an engine system 101 that includes more components including compressors 102 and 103, turbines 114 and 105, heat exchangers 104 and 108, valves 110, 115, 116, and an internal combustion engine 117. The configurations depicted in FIGS. 1(a) and 1(b) thus indicate that processes (e.g., internal combustion engines) have a number of components that typically correspond to physical devices such as compressors, heat exchangers, etc.
In process engineering, a simulation model can be designed and implemented in order to study and analyze the behavior of such processes. Computational simulation models associated with a particular process, for example, can be constructed utilizing a mathematical sub-model representing each of the physical components. Each sub-model generally possesses a number of input variables and generates respective output variables as is shown schematically in the graphical diagram 130 shown in FIG. 2. Each of the input variables 132 (e.g., u1, u2 . . . un) of the component sub-model 134 as depicted in the diagram 130 in FIG. 2 must be assigned to or associated with an output variable such as output variables 136 (e.g., y1 . . . yn) from other component sub models in order to construct an overall model of the process such as, for example the systems 100 and 101 respective depicted in FIGS. 1(a) and 1(b).
FIG. 3 illustrates a high-level flow chart of operations of a prior art method 300 for configuring engine models. As indicated at block 302, a process layout such as the layouts/configurations shown in FIG. 1(a) or FIG. 1(b) can be utilized as a starting point of the procedure. Next, as depicted at block 304, a user can select required component sub-models from a component library. Thereafter, as depicted at block 306, a user manually assigns all input variables with output variables from other component sub-models. Next, as described at block 308, a user manually introduces overall model readouts and assigns them with specific output variables. Performing all these steps results in a configured simulation model as indicated at block 310.
Simulation models are generally implemented using graphical modeling tools or in lines of code. Depending on the implementation approach taken, the input and output variable assignment, as indicated in block 306 in FIG. 3, as well as the creation of overall model readouts, as depicted at block 308 of FIG. 3, can be carried out by creating graphical connections or using some form of pointers/tags. The difficulty in such an approach, however, is that such operations currently must be performed manually. Such a manual assignment of input/output variables and the creation of overall model readouts is labor-intensive, cumbersome, and error prone, even for models with low complexity. Additionally, faults can be easily introduced during the configuration process, resulting in the simulation model to crash or produce incorrect results.
Based on the foregoing, it is believed that a need exists for an improved system and method for configuring a simulation model. In particular, the assignment of input and output variables, as shown at block 306 of FIG. 3, and the creation of overall model readouts, as described at block 308 of FIG. 3, should preferably be automatic in order to avoid errors and decrease the configuration effort of simulation models. A system and method, which automates these configuration operations, is described in greater detail herein.